#include "cJSON.h"
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include "list.h"
#include <string.h>
#include <stdlib.h>
#include "head.h"

int keys[15] = {0};

struct list_head *pos=NULL;
struct data *tmp=NULL;
/*
*作者：高兴达
*时间：2022年2月11日
*函数功能：解析客户端cJSON命令
 */
int analysis()
{
    //读取文件中的内容
    char str[1280] = "";
    int fd;
    fd = open("./cJSON.txt", O_RDONLY);
    if(fd < 0)
    {
        printf("文件打开失败\n");
        return 0;
    }

    read(fd,str,1280);

   // printf("str = %s\n",str);

//解析
    char * jsonStr = str;
    cJSON * root = NULL;
    cJSON * item = NULL;

    root = cJSON_Parse(jsonStr);
    if(!root)
    {
        printf("Error before:[%s]\n",cJSON_GetErrorPtr());
    }
    
    item = cJSON_GetObjectItem(root,"report");
    item = cJSON_GetObjectItem(item,"type");
    
    if(strcmp("0",cJSON_Print(item)) == 0) //不上报,客户端主动采集,刷新上报
    {
        mode = 0;
    }
    else if(strcmp("1",cJSON_Print(item)) == 0) //变化上报
    {
        mode = 1;
    }
    else if(strcmp("2",cJSON_Print(item)) == 0)//周期上报
    {
         item = cJSON_GetObjectItem(root,"report");
         item = cJSON_GetObjectItem(item,"period");//获取上报周期时间
         Time = atoi(cJSON_Print(item));
         mode =2;
    }

}